<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>计算属性</title>
</head>
<body>
    <!--注意事项：计算属性是有缓存的，如果不希望使用缓存，那么可以使用方法替代-->
    <!--使用场景：复杂的逻辑放到插值表达式中会让模板过重且难以维护-->
    <!--所以，对于任何复杂逻辑，你都应当使用计算属性。-->
    <div id="example">
    <p>Original message: "{{ message }}"</p>
        <p>Computed reversed message: "{{ reversedMessage }}"</p>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script type="text/javascript">

        var vm = new Vue({
            el: '#example',
            data: {
                message: 'Hello'
            },
            computed: {
                // 计算属性的 getter
                reversedMessage: function () {
                    // `this` 指向 vm 实例
                    return this.message.split('').reverse().join('')
                }
            }
        });
        console.log(vm.reversedMessage) // => 'olleH'
        vm.message = 'Goodbye'
        console.log(vm.reversedMessage) // => 'eybdooG'
    </script>
</body>
</html>